The term Service Oriented Architecture (“SOA”) refers to a software architecture that defines the use of services to support requirements of software users. In a SOA environment, each node on a network (e.g., an Internet or intranet) makes its resources available to other nodes as independent services that users may access and use in a standardized way. In this way, functions and data may be shared across a distributed network. SOAs thus comprise loosely coupled, interoperable services that are independent of the underlying logic, so that, for example, a C Sharp-based service may be used by a Java application, and vice versa.
The flexibility and interoperability of SOAs, however, result in compromised security. For example, managing ownership and changing versions of resources as various users access them can be complicated. Likewise, tracking, auditing and controlling access to resources may be desirable. Thus, there is a need for systems and methods of securing a SOA.